x86/speculation/mds: Add BUG_MSBDS_ONLY
authorThomas Gleixner <tglx@linutronix.de>
Fri, 1 Mar 2019 19:21:08 +0000 (20:21 +0100)
committerSalvatore Bonaccorso <carnil@debian.org>
Thu, 18 Jul 2019 22:23:17 +0000 (23:23 +0100)
commitc2c430680f8ad05d3878f546ce5e2dc67823600d
tree8b1a357f1a257053118e8132579c9efe5463b41f
parentef8e2a474fc9fee76eab7b6dec88aee46fef98dc
x86/speculation/mds: Add BUG_MSBDS_ONLY

commit e261f209c3666e842fd645a1e31f001c3a26def9 upstream

This bug bit is set on CPUs which are only affected by Microarchitectural
Store Buffer Data Sampling (MSBDS) and not by any other MDS variant.

This is important because the Store Buffers are partitioned between
Hyper-Threads so cross thread forwarding is not possible. But if a thread
enters or exits a sleep state the store buffer is repartitioned which can
expose data from one thread to the other. This transition can be mitigated.

That means that for CPUs which are only affected by MSBDS SMT can be
enabled, if the CPU is not affected by other SMT sensitive vulnerabilities,
e.g. L1TF. The XEON PHI variants fall into that category. Also the
Silvermont/Airmont ATOMs, but for them it's not really relevant as they do
not support SMT, but mark them for completeness sake.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Frederic Weisbecker <frederic@kernel.org>
Reviewed-by: Jon Masters <jcm@redhat.com>
Tested-by: Jon Masters <jcm@redhat.com>
Gbp-Pq: Topic bugfix/all/spec
Gbp-Pq: Name 0007-x86-speculation-mds-Add-BUG_MSBDS_ONLY.patch
arch/x86/include/asm/cpufeatures.h
arch/x86/kernel/cpu/common.c